home *** CD-ROM | disk | FTP | other *** search
/ Java Primer Plus / Java Primer Plus (Waite Group Proess)(1996).iso / java_Win / demo / DitherTest / DitherCanvas.class (.txt) next >
Encoding:
Java Class File  |  1995-10-12  |  1.8 KB  |  48 lines

  1. import java.awt.Canvas;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8.  
  9. class DitherCanvas extends Canvas {
  10.    Image img;
  11.    static String calcString = "Calculating...";
  12.  
  13.    public void paint(Graphics g) {
  14.       int w = ((Component)this).size().width;
  15.       int h = ((Component)this).size().height;
  16.       if (this.img == null) {
  17.          super.paint(g);
  18.          g.setColor(Color.black);
  19.          FontMetrics fm = g.getFontMetrics();
  20.          int x = (w - fm.stringWidth(calcString)) / 2;
  21.          int y = h / 2;
  22.          g.drawString(calcString, x, y);
  23.       } else {
  24.          g.drawImage(this.img, 0, 0, w, h, this);
  25.       }
  26.    }
  27.  
  28.    public Dimension minimumSize() {
  29.       return new Dimension(20, 20);
  30.    }
  31.  
  32.    public Dimension preferredSize() {
  33.       return new Dimension(200, 200);
  34.    }
  35.  
  36.    public Image getImage() {
  37.       return this.img;
  38.    }
  39.  
  40.    public void setImage(Image img) {
  41.       this.img = img;
  42.       ((Component)this).repaint();
  43.    }
  44.  
  45.    public DitherCanvas() {
  46.    }
  47. }
  48.